WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::FactorBase Class Referenceabstract

#include <core/factor/factor_base.h>

Inheritance diagram for wolf::FactorBase:
[legend]

Public Member Functions

 FactorBase (const std::string &_type, const FactorTopology &_top, const JacobianMethod &_jac_method, const Eigen::VectorXd &_measurement, const Eigen::MatrixXd &_measurement_sqrt_information_upper, const NodeStateBlocksPtrList &_node_state_block_list, const ProcessorBasePtr &_processor_ptr, const std::vector< StateBlockPtr > &_state_ptrs, bool _apply_loss_function, FactorStatus _status=FAC_ACTIVE)
 constructor from measurement and noise square root information upper matrix (cholesky) More...
 
 ~FactorBase () override=default
 
virtual void remove (bool viral_remove_parent_without_children=false)
 
bool hasChildren () const override
 
unsigned int id () const
 
virtual FactorTopology getTopology () const final
 get the main topological characteristic More...
 
virtual void getTopology (FactorTopology _top) final
 set the main topological characteristic More...
 
std::string getTopologyString () const
 get the main topological characteristic as string More...
 
virtual bool evaluate (double const *const *_parameters, double *_residuals, double **_jacobians) const =0
 Evaluate the factor given the input parameters and returning the residuals and jacobians. More...
 
virtual bool evaluate (const std::vector< const double * > &_states_ptr, Eigen::VectorXd &_residual, std::vector< Eigen::MatrixXd > &_jacobians) const =0
 
virtual Eigen::VectorXd residual () const
 Evaluate the factor residual with the current state block values. More...
 
virtual double cost () const
 Evaluate the cost of the factor with the current state block values. More...
 
virtual JacobianMethod getJacobianMethod () const final
 Returns the jacobians computation method. More...
 
virtual std::vector< StateBlockConstPtr > getStateBlockPtrVector () const
 Returns a vector of pointers to the states in which this factor depends. More...
 
virtual std::vector< StateBlockPtr > getStateBlockPtrVector ()
 
virtual std::vector< unsigned int > getStateSizes () const
 Returns a vector of the states sizes. More...
 
virtual const Eigen::VectorXd & getMeasurement () const
 Returns a reference to the measurement. More...
 
virtual const Eigen::MatrixXd & getMeasurementSquareRootInformationUpper () const
 Returns a reference to the measurement square root information. More...
 
FeatureBaseConstPtr getFeature () const
 Returns a pointer to the feature constrained from. More...
 
FeatureBasePtr getFeature ()
 
CaptureBaseConstPtr getCapture () const
 Returns a pointer to its capture. More...
 
CaptureBasePtr getCapture ()
 
FrameBaseConstPtr getFrame () const
 Returns a pointer to its frame. More...
 
FrameBasePtr getFrame ()
 
ProcessorBaseConstPtr getProcessor () const
 getProcessor More...
 
ProcessorBasePtr getProcessor ()
 
virtual unsigned int getSize () const =0
 Returns the factor residual size. More...
 
FactorStatus getStatus () const
 Gets the status. More...
 
void setStatus (FactorStatus _status)
 Sets the status. More...
 
bool getApplyLossFunction () const
 Gets the apply loss function flag. More...
 
NodeStateBlocksWPtrList getNodesFactored ()
 
FrameBaseWPtrList getFramesFactored ()
 
CaptureBaseWPtrList getCapturesFactored ()
 
LandmarkBaseWPtrList getLandmarksFactored ()
 
SensorBaseWPtrList getSensorsFactored ()
 
NodeStateBlocksConstWPtrList getNodesFactored () const
 
FrameBaseConstWPtrList getFramesFactored () const
 
CaptureBaseConstWPtrList getCapturesFactored () const
 
LandmarkBaseConstWPtrList getLandmarksFactored () const
 
SensorBaseConstWPtrList getSensorsFactored () const
 
bool hasNode (const NodeStateBlocksConstPtr &_nsb) const
 
bool hasFrame (const FrameBaseConstPtr &_frm) const
 
bool hasCapture (const CaptureBaseConstPtr &_cap) const
 
bool hasLandmark (const LandmarkBaseConstPtr &_lmk) const
 
bool hasSensor (const SensorBaseConstPtr &_sen) const
 
void link (FeatureBasePtr ftr)
 
virtual void printHeader (int _depth, bool _factored_by, bool _metric, bool _state_blocks, std::ostream &_stream, std::string _tabs="") const
 
void print (int _depth, bool _factored_by, bool _metric, bool _state_blocks, std::ostream &_stream=std::cout, std::string _tabs="") const
 
virtual CheckLog localCheck (bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
bool check (CheckLog &_log, bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
- Public Member Functions inherited from wolf::NodeBase
 NodeBase (const std::string &_category, const std::string &_type="Undefined", const std::string &_name="")
 
virtual ~NodeBase ()=default
 
unsigned int nodeId () const
 
std::string getCategory () const
 
std::string getType () const
 
std::string getName () const
 
bool isRemoving () const
 
virtual bool hasChildren () const =0
 
void setType (const std::string &_type)
 
void setName (const std::string &_name)
 
ProblemConstPtr getProblem () const
 
ProblemPtr getProblem ()
 

Static Public Member Functions

template<typename classType , typename... T>
static std::shared_ptr< classType > emplace (FeatureBasePtr _oth_ptr, T &&... all)
 

Protected Member Functions

void setProblem (ProblemPtr) override final
 
virtual void setProblem (ProblemPtr _prob_ptr)
 

Protected Attributes

unsigned int factor_id_
 
FactorTopology topology_
 topology of factor More...
 
JacobianMethod jacobian_method_
 jacobian method More...
 
FactorStatus status_
 status of factor More...
 
bool apply_loss_function_
 flag for applying loss function to this factor More...
 
Eigen::VectorXd measurement_
 the measurement vector More...
 
Eigen::MatrixXd measurement_sqrt_information_upper_
 the squared root information matrix More...
 
std::vector< unsigned int > state_block_sizes_
 vector containing sizes of the state blocks involved More...
 
std::vector< StateBlockPtr > state_block_vector_
 vector containing the state blocks involved More...
 
- Protected Attributes inherited from wolf::NodeBase
ProblemWPtr problem_ptr_
 
unsigned int node_id_
 Node id. It is unique over the whole Wolf Tree. More...
 
std::string node_category_
 Text label identifying the category of node ("SENSOR", "FEATURE", etc) More...
 
std::string node_type_
 Text label identifying the type or subcategory of node ("Pin Hole", "Point 2d", etc) More...
 
std::string node_name_
 
bool is_removing_
 A flag for safely removing nodes from the Wolf tree. See remove(). More...
 

Constructor & Destructor Documentation

◆ FactorBase()

wolf::FactorBase::FactorBase ( const std::string &  _type,
const FactorTopology &  _top,
const JacobianMethod &  _jac_method,
const Eigen::VectorXd &  _measurement,
const Eigen::MatrixXd &  _measurement_sqrt_information_upper,
const NodeStateBlocksPtrList &  _node_state_block_list,
const ProcessorBasePtr &  _processor_ptr,
const std::vector< StateBlockPtr > &  _state_ptrs,
bool  _apply_loss_function,
FactorStatus  _status = FAC_ACTIVE 
)

constructor from measurement and noise square root information upper matrix (cholesky)

◆ ~FactorBase()

wolf::FactorBase::~FactorBase ( )
overridedefault

Member Function Documentation

◆ check()

bool wolf::FactorBase::check ( CheckLog &  _log,
bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const

◆ cost()

double wolf::FactorBase::cost ( ) const
inlinevirtual

Evaluate the cost of the factor with the current state block values.

◆ emplace()

template<typename classType , typename... T>
std::shared_ptr< classType > wolf::FactorBase::emplace ( FeatureBasePtr  _oth_ptr,
T &&...  all 
)
static

◆ evaluate() [1/2]

virtual bool wolf::FactorBase::evaluate ( const std::vector< const double * > &  _states_ptr,
Eigen::VectorXd &  _residual,
std::vector< Eigen::MatrixXd > &  _jacobians 
) const
pure virtual

Returns a vector of Jacobian matrix corresponding to each state block evaluated in the point provided in _states_ptr and the residual vector

Implemented in wolf::FactorAnalytic, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14 >, wolf::FactorAutodiff< FactorDiffDrive, RESIDUAL_SIZE, POSITION_SIZE, ORIENTATION_SIZE, POSITION_SIZE, ORIENTATION_SIZE, INTRINSICS_SIZE >, wolf::FactorAutodiff< FactorDistance3d, 1, 3, 3 >, wolf::FactorAutodiff< FactorHomogeneous3dAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorPose2d, 3, 2, 1 >, wolf::FactorAutodiff< FactorPose2dWithExtrinsics, 3, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorPose3d, 6, 3, 4 >, wolf::FactorAutodiff< FactorPose3dWithExtrinsics, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionDifference, 3, 4, 4 >, wolf::FactorAutodiff< FactorRelativePose2dWithExtrinsics, 3, 2, 1, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorRelativePose3d, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePose3dWithExtrinsics, 6, 3, 4, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePosition2dWithExtrinsics, 2, 2, 1, 2, 2, 1 >, wolf::FactorAutodiff< FactorRelativePosition3d, 3, 3, 4, 3 >, wolf::FactorAutodiff< FactorRelativePosition3dWithExtrinsics, 3, 3, 4, 3, 3, 4 >, wolf::FactorAutodiff< FactorVelocityLocalDirection3d, 2, 3, 4 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, and wolf::FactorAutodiff< FacT, RES, B0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >.

◆ evaluate() [2/2]

virtual bool wolf::FactorBase::evaluate ( double const *const *  _parameters,
double *  _residuals,
double **  _jacobians 
) const
pure virtual

Evaluate the factor given the input parameters and returning the residuals and jacobians.

Implemented in wolf::FactorAnalytic, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14 >, wolf::FactorAutodiff< FactorDiffDrive, RESIDUAL_SIZE, POSITION_SIZE, ORIENTATION_SIZE, POSITION_SIZE, ORIENTATION_SIZE, INTRINSICS_SIZE >, wolf::FactorAutodiff< FactorDistance3d, 1, 3, 3 >, wolf::FactorAutodiff< FactorHomogeneous3dAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorPose2d, 3, 2, 1 >, wolf::FactorAutodiff< FactorPose2dWithExtrinsics, 3, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorPose3d, 6, 3, 4 >, wolf::FactorAutodiff< FactorPose3dWithExtrinsics, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionDifference, 3, 4, 4 >, wolf::FactorAutodiff< FactorRelativePose2dWithExtrinsics, 3, 2, 1, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorRelativePose3d, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePose3dWithExtrinsics, 6, 3, 4, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePosition2dWithExtrinsics, 2, 2, 1, 2, 2, 1 >, wolf::FactorAutodiff< FactorRelativePosition3d, 3, 3, 4, 3 >, wolf::FactorAutodiff< FactorRelativePosition3dWithExtrinsics, 3, 3, 4, 3, 3, 4 >, wolf::FactorAutodiff< FactorVelocityLocalDirection3d, 2, 3, 4 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, and wolf::FactorAutodiff< FacT, RES, B0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >.

◆ getApplyLossFunction()

bool wolf::FactorBase::getApplyLossFunction ( ) const
inline

Gets the apply loss function flag.

◆ getCapture() [1/2]

CaptureBasePtr wolf::FactorBase::getCapture ( )

◆ getCapture() [2/2]

CaptureBaseConstPtr wolf::FactorBase::getCapture ( ) const

Returns a pointer to its capture.

◆ getCapturesFactored() [1/2]

CaptureBaseWPtrList wolf::FactorBase::getCapturesFactored ( )
inline

◆ getCapturesFactored() [2/2]

CaptureBaseConstWPtrList wolf::FactorBase::getCapturesFactored ( ) const
inline

◆ getFeature() [1/2]

FeatureBasePtr wolf::FactorBase::getFeature ( )
inline

◆ getFeature() [2/2]

FeatureBaseConstPtr wolf::FactorBase::getFeature ( ) const
inline

Returns a pointer to the feature constrained from.

◆ getFrame() [1/2]

FrameBasePtr wolf::FactorBase::getFrame ( )

◆ getFrame() [2/2]

FrameBaseConstPtr wolf::FactorBase::getFrame ( ) const

Returns a pointer to its frame.

◆ getFramesFactored() [1/2]

FrameBaseWPtrList wolf::FactorBase::getFramesFactored ( )
inline

◆ getFramesFactored() [2/2]

FrameBaseConstWPtrList wolf::FactorBase::getFramesFactored ( ) const
inline

◆ getJacobianMethod()

virtual JacobianMethod wolf::FactorBase::getJacobianMethod ( ) const
inlinefinalvirtual

Returns the jacobians computation method.

◆ getLandmarksFactored() [1/2]

LandmarkBaseWPtrList wolf::FactorBase::getLandmarksFactored ( )
inline

◆ getLandmarksFactored() [2/2]

LandmarkBaseConstWPtrList wolf::FactorBase::getLandmarksFactored ( ) const
inline

◆ getMeasurement()

const Eigen::VectorXd & wolf::FactorBase::getMeasurement ( ) const
inlinevirtual

Returns a reference to the measurement.

◆ getMeasurementSquareRootInformationUpper()

const Eigen::MatrixXd & wolf::FactorBase::getMeasurementSquareRootInformationUpper ( ) const
inlinevirtual

Returns a reference to the measurement square root information.

◆ getNodesFactored() [1/2]

NodeStateBlocksWPtrList wolf::FactorBase::getNodesFactored ( )
inline

◆ getNodesFactored() [2/2]

NodeStateBlocksConstWPtrList wolf::FactorBase::getNodesFactored ( ) const
inline

◆ getProcessor() [1/2]

ProcessorBasePtr wolf::FactorBase::getProcessor ( )
inline

◆ getProcessor() [2/2]

ProcessorBaseConstPtr wolf::FactorBase::getProcessor ( ) const
inline

getProcessor

◆ getSensorsFactored() [1/2]

SensorBaseWPtrList wolf::FactorBase::getSensorsFactored ( )
inline

◆ getSensorsFactored() [2/2]

SensorBaseConstWPtrList wolf::FactorBase::getSensorsFactored ( ) const
inline

◆ getSize()

virtual unsigned int wolf::FactorBase::getSize ( ) const
pure virtual

Returns the factor residual size.

Implemented in wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14 >, wolf::FactorAutodiff< FactorDiffDrive, RESIDUAL_SIZE, POSITION_SIZE, ORIENTATION_SIZE, POSITION_SIZE, ORIENTATION_SIZE, INTRINSICS_SIZE >, wolf::FactorAutodiff< FactorDistance3d, 1, 3, 3 >, wolf::FactorAutodiff< FactorHomogeneous3dAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorPose2d, 3, 2, 1 >, wolf::FactorAutodiff< FactorPose2dWithExtrinsics, 3, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorPose3d, 6, 3, 4 >, wolf::FactorAutodiff< FactorPose3dWithExtrinsics, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionAbsolute, 3, 4 >, wolf::FactorAutodiff< FactorQuaternionDifference, 3, 4, 4 >, wolf::FactorAutodiff< FactorRelativePose2dWithExtrinsics, 3, 2, 1, 2, 1, 2, 1 >, wolf::FactorAutodiff< FactorRelativePose3d, 6, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePose3dWithExtrinsics, 6, 3, 4, 3, 4, 3, 4 >, wolf::FactorAutodiff< FactorRelativePosition2dWithExtrinsics, 2, 2, 1, 2, 2, 1 >, wolf::FactorAutodiff< FactorRelativePosition3d, 3, 3, 4, 3 >, wolf::FactorAutodiff< FactorRelativePosition3dWithExtrinsics, 3, 3, 4, 3, 3, 4 >, wolf::FactorAutodiff< FactorVelocityLocalDirection3d, 2, 3, 4 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, B8, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, B7, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, B6, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, B5, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, B4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, B3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, B2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, B1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorAutodiff< FacT, RES, B0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, wolf::FactorBlockAbsolute, wolf::FactorBlockDifference, wolf::FactorRelativePose2d, and wolf::FactorRelativePosition2d.

◆ getStateBlockPtrVector() [1/2]

std::vector< StateBlockPtr > wolf::FactorBase::getStateBlockPtrVector ( )
inlinevirtual

◆ getStateBlockPtrVector() [2/2]

std::vector< StateBlockConstPtr > wolf::FactorBase::getStateBlockPtrVector ( ) const
inlinevirtual

Returns a vector of pointers to the states in which this factor depends.

◆ getStateSizes()

std::vector< unsigned int > wolf::FactorBase::getStateSizes ( ) const
inlinevirtual

Returns a vector of the states sizes.

◆ getStatus()

FactorStatus wolf::FactorBase::getStatus ( ) const
inline

Gets the status.

◆ getTopology() [1/2]

virtual FactorTopology wolf::FactorBase::getTopology ( ) const
inlinefinalvirtual

get the main topological characteristic

◆ getTopology() [2/2]

virtual void wolf::FactorBase::getTopology ( FactorTopology  _top)
inlinefinalvirtual

set the main topological characteristic

◆ getTopologyString()

std::string wolf::FactorBase::getTopologyString ( ) const
inline

get the main topological characteristic as string

◆ hasCapture()

bool wolf::FactorBase::hasCapture ( const CaptureBaseConstPtr &  _cap) const

◆ hasChildren()

bool wolf::FactorBase::hasChildren ( ) const
inlineoverridevirtual

Implements wolf::NodeBase.

◆ hasFrame()

bool wolf::FactorBase::hasFrame ( const FrameBaseConstPtr &  _frm) const

◆ hasLandmark()

bool wolf::FactorBase::hasLandmark ( const LandmarkBaseConstPtr &  _lmk) const

◆ hasNode()

bool wolf::FactorBase::hasNode ( const NodeStateBlocksConstPtr &  _nsb) const

◆ hasSensor()

bool wolf::FactorBase::hasSensor ( const SensorBaseConstPtr &  _sen) const

◆ id()

unsigned int wolf::FactorBase::id ( ) const
inline

◆ link()

void wolf::FactorBase::link ( FeatureBasePtr  ftr)

◆ localCheck()

CheckLog wolf::FactorBase::localCheck ( bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const
virtual

◆ print()

void wolf::FactorBase::print ( int  _depth,
bool  _factored_by,
bool  _metric,
bool  _state_blocks,
std::ostream &  _stream = std::cout,
std::string  _tabs = "" 
) const

◆ printHeader()

void wolf::FactorBase::printHeader ( int  _depth,
bool  _factored_by,
bool  _metric,
bool  _state_blocks,
std::ostream &  _stream,
std::string  _tabs = "" 
) const
virtual

◆ remove()

void wolf::FactorBase::remove ( bool  viral_remove_parent_without_children = false)
virtual

◆ residual()

Eigen::VectorXd wolf::FactorBase::residual ( ) const
virtual

Evaluate the factor residual with the current state block values.

◆ setProblem()

void wolf::FactorBase::setProblem ( ProblemPtr  _problem)
finaloverrideprotectedvirtual

Reimplemented from wolf::NodeBase.

◆ setStatus()

void wolf::FactorBase::setStatus ( FactorStatus  _status)

Sets the status.

Member Data Documentation

◆ apply_loss_function_

bool wolf::FactorBase::apply_loss_function_
protected

flag for applying loss function to this factor

◆ factor_id_

unsigned int wolf::FactorBase::factor_id_
protected

◆ jacobian_method_

JacobianMethod wolf::FactorBase::jacobian_method_
protected

jacobian method

◆ measurement_

Eigen::VectorXd wolf::FactorBase::measurement_
protected

the measurement vector

◆ measurement_sqrt_information_upper_

Eigen::MatrixXd wolf::FactorBase::measurement_sqrt_information_upper_
protected

the squared root information matrix

◆ state_block_sizes_

std::vector<unsigned int> wolf::FactorBase::state_block_sizes_
protected

vector containing sizes of the state blocks involved

◆ state_block_vector_

std::vector<StateBlockPtr> wolf::FactorBase::state_block_vector_
protected

vector containing the state blocks involved

◆ status_

FactorStatus wolf::FactorBase::status_
protected

status of factor

◆ topology_

FactorTopology wolf::FactorBase::topology_
protected

topology of factor


The documentation for this class was generated from the following files: